package cauca.scsn.modelo.servicios;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;

import modelo.CausaOperacionDataModel;
import cauca.scsn.modelo.dao.CausaOperacionDAO;
import cauca.scsn.modelo.entidad.CausaOperacion;

@ManagedBean
@ApplicationScoped
public class ServiciosVentanaCausaOperacion {
	
	private CausaOperacionDAO causaOperacionDAO;
	private List<CausaOperacion> listaFiltrada;
	private List<CausaOperacion> listaCausaOperacion;
	private CausaOperacion causaOperacionSeleccionada;
	private CausaOperacionDataModel causaOperacionDataModel;

	public ServiciosVentanaCausaOperacion(){
		super();
		causaOperacionDAO = CausaOperacionDAO.getInstancia();
		listaCausaOperacion = new ArrayList<CausaOperacion>();
		listaFiltrada = new ArrayList<CausaOperacion>();
		filtrarCausaOperacion();
		setCausaOperacionDataModel(new CausaOperacionDataModel(listaFiltrada));
	}
	
	private List<CausaOperacion> filtrarCausaOperacion() {
		listaFiltrada = causaOperacionDAO.buscarTodasEntidades();
		for (int i=0; i < listaCausaOperacion.size(); i++) {
			if (listaCausaOperacion.get(i).getStatus().equals("A")) {
				listaFiltrada.add(listaCausaOperacion.get(i));
			}
		}
		return listaFiltrada;
	}

	public CausaOperacionDAO getCausaOperacionDAO() {
		return causaOperacionDAO;
	}

	public void setCausaOperacionDAO(CausaOperacionDAO causaOperacionDAO) {
		this.causaOperacionDAO = causaOperacionDAO;
	}

	public List<CausaOperacion> getListaFiltrada() {
		return listaFiltrada;
	}

	public void setListaFiltrada(List<CausaOperacion> listaFiltrada) {
		this.listaFiltrada = listaFiltrada;
	}

	public List<CausaOperacion> getListaCausaOperacion() {
		return listaCausaOperacion;
	}

	public void setListaCausaOperacion(List<CausaOperacion> listaCausaOperacion) {
		this.listaCausaOperacion = listaCausaOperacion;
	}

	public CausaOperacion getCausaOperacionSeleccionado() {
		return causaOperacionSeleccionada;
	}

	public void setCausaOperacionSeleccionado(CausaOperacion causaOperacionSeleccionada) {
		this.causaOperacionSeleccionada = causaOperacionSeleccionada;
	}

	public CausaOperacionDataModel getCausaOperacionDataModel() {
		return causaOperacionDataModel;
	}

	public void setCausaOperacionDataModel(CausaOperacionDataModel causaOperacionDataModel) {
		this.causaOperacionDataModel = causaOperacionDataModel;
	}
}
